Using the GetStatus method with RX devices returns erroneous information

Tech Note: TN0826
Product: ActiveX
Version: All
Date Added: 2008-05-09

Issue

When using the GetStatus method with RX devices, the method returns erroneous values. RX devices return higher bit information, and this causes issues with the status values described in the ActiveX help documentation.

For example, a GetStatus value 7 corresponds to a device that is connected and has a circuit loaded and running. Using the GetStatus method on a connected RX device that has a circuit loaded, and running will not return the value 7, but will return the value 7 plus high bit information resulting in the erroneous value.

Workaround

To access relevant status information in MATLAB, use bitget (or the equivalent in other programming languages) to read each bit directly. For example, the following code is compatible with RX devices:

if all(bitget(RP.GetStatus,1:3))
    disp('Circuit loaded and running');
end
If RP.GetStatus And 7 <> 7 Then
    Msgbox("Error loading circuit")
End If